home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Examples / getset / Test.m < prev   
Text File  |  1994-12-10  |  5KB  |  287 lines

  1. // Class Test generated using getset 1.1
  2. // Copyright 1994 by M. Onyschuk and Associates Inc.
  3. // All Rights Reserved.
  4.  
  5. #import "Object.h"
  6.  
  7. @interface Test:Object
  8. {
  9.     char *aString1;
  10.     char *aString2;
  11.     int anInt;
  12.     long aLongInt;
  13.     float aFloat;
  14.     double aDouble;
  15.     id anId;
  16.     id anotherId;
  17.     double anotherDouble;
  18.     id delegate;
  19. }
  20.  
  21. - free;
  22.  
  23. - read:(NXTypedStream *)aStream;
  24. - write:(NXTypedStream *)aStream;
  25.  
  26. - copyFromZone:(NXZone *)aZone;
  27.  
  28. - (const char *)aString1;
  29. - setAString1:(const char *)aValue;
  30.  
  31. - (const char *)aString2;
  32. - setAString2:(const char *)aValue;
  33.  
  34. - (int)anInt;
  35. - setAnInt:(int)aValue;
  36.  
  37. - (long)aLongInt;
  38. - setALongInt:(long)aValue;
  39.  
  40. - (float)aFloat;
  41. - setAFloat:(float)aValue;
  42.  
  43. - (double)aDouble;
  44. - setADouble:(double)aValue;
  45.  
  46. - anId;
  47. - setAnId:aValue;
  48.  
  49. - anotherId;
  50. - setAnotherId:aValue;
  51.  
  52. - (double)anotherDouble;
  53. - setAnotherDouble:(double)aValue;
  54.  
  55. - delegate;
  56. - setDelegate:aValue;
  57.  
  58. @end
  59.  
  60. #import "Test.h"
  61. #import <objc/hashtable.h>
  62.  
  63. @implementation Test
  64.  
  65. - free
  66. {
  67.     NXZone *z = [self zone];
  68.  
  69.     if (aString1) {
  70.         NXZoneFree(z, aString1);
  71.         aString1 = NULL;
  72.     }
  73.     if (aString2) {
  74.         NXZoneFree(z, aString2);
  75.         aString2 = NULL;
  76.     }
  77.     if (anId) {
  78.         anId = [anId free];
  79.     }
  80.     if (anotherId) {
  81.         anotherId = [anotherId free];
  82.     }
  83.     if (delegate) {
  84.         delegate = [delegate free];
  85.     }
  86.  
  87.     return [super free];
  88. }
  89.  
  90. - read:(NXTypedStream *)stream
  91. {
  92.     [super read:stream];
  93.  
  94.     NXReadType(stream, "*", &aString1);
  95.     NXReadType(stream, "*", &aString2);
  96.     NXReadType(stream, "i", &anInt);
  97.     NXReadType(stream, "l", &aLongInt);
  98.     NXReadType(stream, "f", &aFloat);
  99.     NXReadType(stream, "d", &aDouble);
  100.     anId = NXReadObject(stream);
  101.     anotherId = NXReadObject(stream);
  102.     NXReadType(stream, "d", &anotherDouble);
  103.     delegate = NXReadObject(stream);
  104.  
  105.     return self;
  106. }
  107.  
  108. - write:(NXTypedStream *)stream
  109. {
  110.     [super write:stream];
  111.  
  112.     NXWriteType(stream, "*", &aString1);
  113.     NXWriteType(stream, "*", &aString2);
  114.     NXWriteType(stream, "i", &anInt);
  115.     NXWriteType(stream, "l", &aLongInt);
  116.     NXWriteType(stream, "f", &aFloat);
  117.     NXWriteType(stream, "d", &aDouble);
  118.     NXWriteObject(stream, anId);
  119.     NXWriteObject(stream, anotherId);
  120.     NXWriteType(stream, "d", &anotherDouble);
  121.     NXWriteObject(stream, delegate);
  122.  
  123.     return self;
  124. }
  125.  
  126. - copyFromZone:(NXZone *)aZone
  127. {
  128.     Test *copy = [super copyFromZone:aZone];
  129.  
  130.     if (aString1) {
  131.         copy->aString1 = NXCopyStringBufferFromZone(aString1, z);
  132.     }
  133.     if (aString2) {
  134.         copy->aString2 = NXCopyStringBufferFromZone(aString2, z);
  135.     }
  136.     copy->anId = [anId copyFromZone:aZone];
  137.     copy->anotherId = [anotherId copyFromZone:aZone];
  138.     copy->delegate = [delegate copyFromZone:aZone];
  139.  
  140.     return copy;
  141. }
  142.  
  143. - (const char *)aString1
  144. {
  145.     return aString1;
  146. }
  147.  
  148. - setAString1:(const char *)aValue
  149. {
  150.     NXZone *z = [self zone];
  151.     if (aString1) {
  152.         NXZoneFree(z, aString1);
  153.     }
  154.     aString1 = (aValue) ? NXCopyStringBufferFromZone(aValue, z) : NULL;
  155.     return self;
  156. }
  157.  
  158. - (const char *)aString2
  159. {
  160.     return aString2;
  161. }
  162.  
  163. - setAString2:(const char *)aValue
  164. {
  165.     NXZone *z = [self zone];
  166.     if (aString2) {
  167.         NXZoneFree(z, aString2);
  168.     }
  169.     aString2 = (aValue) ? NXCopyStringBufferFromZone(aValue, z) : NULL;
  170.     return self;
  171. }
  172.  
  173. - (int)anInt
  174. {
  175.     return anInt;
  176. }
  177.  
  178. - setAnInt:(int)aValue
  179. {
  180.     anInt = aValue;
  181.     return self;
  182. }
  183.  
  184. - (long)aLongInt
  185. {
  186.     return aLongInt;
  187. }
  188.  
  189. - setALongInt:(long)aValue
  190. {
  191.     aLongInt = aValue;
  192.     return self;
  193. }
  194.  
  195. - (float)aFloat
  196. {
  197.     return aFloat;
  198. }
  199.  
  200. - setAFloat:(float)aValue
  201. {
  202.     aFloat = aValue;
  203.     return self;
  204. }
  205.  
  206. - (double)aDouble
  207. {
  208.     return aDouble;
  209. }
  210.  
  211. - setADouble:(double)aValue
  212. {
  213.     aDouble = aValue;
  214.     return self;
  215. }
  216.  
  217. - anId
  218. {
  219.     return anId;
  220. }
  221.  
  222. - setAnId:aValue
  223. {
  224.     [anId free];
  225.     anId = [aValue copyFromZone:[self zone]];
  226.     return self;
  227. }
  228.  
  229. - setAnIdNoCopy:aValue
  230. {
  231.     [anId free];
  232.     anId = aValue;
  233.     return self;
  234. }
  235.  
  236. - anotherId
  237. {
  238.     return anotherId;
  239. }
  240.  
  241. - setAnotherId:aValue
  242. {
  243.     [anotherId free];
  244.     anotherId = [aValue copyFromZone:[self zone]];
  245.     return self;
  246. }
  247.  
  248. - setAnotherIdNoCopy:aValue
  249. {
  250.     [anotherId free];
  251.     anotherId = aValue;
  252.     return self;
  253. }
  254.  
  255. - (double)anotherDouble
  256. {
  257.     return anotherDouble;
  258. }
  259.  
  260. - setAnotherDouble:(double)aValue
  261. {
  262.     anotherDouble = aValue;
  263.     return self;
  264. }
  265.  
  266. - delegate
  267. {
  268.     return delegate;
  269. }
  270.  
  271. - setDelegate:aValue
  272. {
  273.     [delegate free];
  274.     delegate = [aValue copyFromZone:[self zone]];
  275.     return self;
  276. }
  277.  
  278. - setDelegateNoCopy:aValue
  279. {
  280.     [delegate free];
  281.     delegate = aValue;
  282.     return self;
  283. }
  284.  
  285. @end
  286.  
  287.